From: Keir Fraser Date: Tue, 21 Oct 2008 17:00:21 +0000 (+0100) Subject: ia64: Some fixes after spinlock implementation changes. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14066^2 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22?a=commitdiff_plain;h=771d864eb478df47ca5b746df025641efc2b0e64;p=xen.git ia64: Some fixes after spinlock implementation changes. Signed-off-by: Keir Fraser --- diff --git a/xen/arch/ia64/vmx/vmmu.c b/xen/arch/ia64/vmx/vmmu.c index 4e1497514b..3bf0529051 100644 --- a/xen/arch/ia64/vmx/vmmu.c +++ b/xen/arch/ia64/vmx/vmmu.c @@ -446,7 +446,7 @@ IA64FAULT vmx_vcpu_ptc_ga(VCPU *vcpu, u64 va, u64 ps) do { cpu = v->processor; if (cpu != current->processor) { - spin_unlock_wait(&per_cpu(schedule_data, cpu).schedule_lock); + spin_barrier(&per_cpu(schedule_data, cpu).schedule_lock); /* Flush VHPT on remote processors. */ smp_call_function_single(cpu, &ptc_ga_remote_func, &args, 0, 1); diff --git a/xen/include/asm-ia64/linux-xen/asm/spinlock.h b/xen/include/asm-ia64/linux-xen/asm/spinlock.h index 981b6f9d64..115fe6e49c 100644 --- a/xen/include/asm-ia64/linux-xen/asm/spinlock.h +++ b/xen/include/asm-ia64/linux-xen/asm/spinlock.h @@ -130,7 +130,6 @@ do { \ #define _raw_spin_is_locked(x) ((x)->lock != 0) #define _raw_spin_unlock(x) do { barrier(); (x)->lock = 0; } while (0) #define _raw_spin_trylock(x) (cmpxchg_acq(&(x)->lock, 0, 1) == 0) -#define spin_unlock_wait(x) do { barrier(); } while ((x)->lock) typedef struct { volatile unsigned int read_counter : 31; @@ -141,9 +140,6 @@ typedef struct { } raw_rwlock_t; #define _RAW_RW_LOCK_UNLOCKED /*(raw_rwlock_t)*/ { 0, 0 } -#define read_can_lock(rw) (*(volatile int *)(rw) >= 0) -#define write_can_lock(rw) (*(volatile int *)(rw) == 0) - #define _raw_read_lock(rw) \ do { \ raw_rwlock_t *__read_lock_ptr = (rw); \